graph G {
  a[label="", shape=circle];
  b[label="", shape=circle];
  c[label="", shape=circle];
  {rank=same; b, c}
  d[label="", shape=circle];
  e[label="", shape=circle];
  f[label="", shape=circle];
  g[label="", shape=circle];
  {rank=same; d, e, f, g};
  h[label="sort [2]", shape=rectangle];
  i[label="sort [3]", shape=rectangle];
  j[label="sort [1]", shape=rectangle];
  k[label="sort [1]", shape=rectangle];
  l[label="sort [10]", shape=rectangle];
  m[label="sort [0]", shape=rectangle];
  n[label="sort [14]", shape=rectangle];
  o[label="sort [4]", shape=rectangle];
  {rank=same; h, i, j, k, l, m, n, o}
  a -- b;
  a -- c;
  b -- d;
  b -- e;
  c -- f;
  c -- g;
  d -- h;
  d -- i;
  e -- j;
  e -- k;
  f -- l;
  f -- m;
  g -- n;
  g -- o;
}
